=2
=t =eplain
=1
1 4in 10in -.7in
<#14#><#14#>
2
-.57in
=<#21#>height6.5pt depth2.5pt width0pt<#21#>
2
=b
<#22#>
=.46in
=<#2248#>
_=<#2285#>
=`
{=`{
}=`}
<#1953#>/<#56#>
=0.44
=.10
=0em
=<#2288#>
<#2288#>`@ =
-1pt
@dim
`@ =
=0pt
<#2291#>=
This reference card describes the available library functions of GNU C on the Atari ST and is currently based on the library from Jwahar~R. Bammi at patchlevel 83. For the most part the functions are alphabetically sorted by function name.
Some of the mentioned functions are only available, when MiNT, the TOS multitasking extension from Eric~R. Smith is running, or if you have a TT. The earlier are marked with ``(MiNT)'', the latter with ``(TT)''.
Additionally, this reference card is postcard-ware. If you find it
useful, send a postcard to this address: Frank Ridderbusch, Sander
Str.~17, W-4790~Paderborn, Germany.
<#2293#>Standard I/O<#2293#>
<#2294#>
#include stdio.h;SPMgt;
<#124#>=The following aliases for some of the below functions are defined.
<#124#>
= to <#1971#>#=10pt plus 1 fil;SPMamp;# getc;SPMamp;fgetc ungetc;SPMamp;fungetc putc;SPMamp;fputc getchar();SPMamp;fgetc(stdin) ungetchar(c);SPMamp;fungetc((c),stdin) putchar(c);SPMamp;fputc((c),stdout) <#1971#>=0em
func@star<#137#>void clearerr(FILE &sstarf#star;fp);<#137#>
=2000
to <#2299#>
<#2300#>by -Clear error and EOF status of stream <#2301#>
func@star<#139#>char &sstarf#star;ctermid(char &sstarf#star;name);<#139#> =2000 to <#2302#> <#2303#>by -<#2303#><#2302#>
func@star<#141#>int fclose(FILE &sstarf#star;fp);<#141#>
=2000
to <#2304#>
<#2305#>by -Close the stream <#2306#>
func@star<#143#>FILE &sstarf#star;fdopen(int fd, const~char &sstarf#star;mode);<#143#>
=2000
to <#2307#>
<#2308#>by -Connect a file pointer to the file descriptor <#2309#>
func@star<#146#>int feof(FILE &sstarf#star;fp);<#146#>
=2000
to <#2311#>
<#2312#>by -Test EOF status of stream <#2313#>
func@star<#148#>int ferror(FILE &sstarf#star;fp);<#148#>
=2000
to <#2314#>
<#2315#>by -Test error status of stream <#2316#>
func@star<#150#>int fflush(FILE &sstarf#star;fp);<#150#>
=2000
to <#2317#>
<#2318#>by -Write data from internal buffer of stream <#2319#>
func@star<#152#>int fgetc(FILE &sstarf#star;fp);<#152#>
=2000
to <#2320#>
<#2321#>by -Get a character from stream <#2322#>
func@star<#154#>int fgetpos(FILE &sstarf#star;fp, fpos_t &sstarf#star;ptr);<#154#>
=2000
to <#2323#>
<#2324#>by -Put the current position of the file pointer of stream <#2325#>
func@star<#157#>char &sstarf#star;fgets(char &sstarf#star;buf, int max, FILE &sstarf#star;fp);<#157#>
=2000
to <#2327#>
<#2328#>by -Get a string including the NL character from stream <#2329#>
func@star<#161#>int fileno(FILE &sstarf#star;fp);<#161#>
=2000
to <#2332#>
<#2333#>by -Get file descriptor of stream <#2334#>
func@star<#163#>FILE &sstarf#star;fopen(const~char &sstarf#star;fname, const~char &sstarf#star;mode);<#163#>
=2000
to <#2335#>
<#2336#>by -Open file <#2337#>
func@star<#166#>int fputc(int c, FILE &sstarf#star;fp);<#166#>
=2000
to <#2339#>
<#2340#>by -Write a character <#2341#>
func@star<#169#>int fputs(const~char &sstarf#star;buf, FILE &sstarf#star;fp);<#169#>
=2000
to <#2343#>
<#2344#>by -Write the string in <#2345#>
func@star<#172#>size_t fread(void &sstarf#star;buf, size_t sz, size_t no, FILE &sstarf#star;fp);<#172#>
=2000
to <#2347#>
<#2348#>by -Read <#2349#>
func@star<#177#>FILE &sstarf#star;freopen(const~char &sstarf#star;fname, const~char &sstarf#star;mode, FILE &sstarf#star;fp);<#177#>
=2000
to <#2353#>
<#2354#>by -Reopen <#2355#>
func@star<#181#>int fseek(FILE &sstarf#star;fp, long pos, int whence);<#181#>
=2000
to <#2358#>
<#2359#>by -Move the the file pointer from stream <#2360#>
func@star<#185#>int fsetpos(FILE &sstarf#star;fp, fpos_t &sstarf#star;ptr);<#185#>
=2000
to <#2363#>
<#2364#>by -Set the position of the file pointer of stream <#2365#>
func@star<#188#>long ftell(FILE &sstarf#star;fp);<#188#>
=2000
to <#2367#>
<#2368#>by -Get the current position of the file pointer from stream <#2369#>
func@star<#190#>int fungetc(int c, FILE &sstarf#star;fp);<#190#>
=2000
to <#2370#>
<#2371#>by -Push the character <#2372#>
func@star<#193#>size_t fwrite(const~void &sstarf#star;buf, size_t size, size_t no , FILE &sstarf#star;fp);<#193#>
=2000
to <#2374#>
<#2375#>by -Write <#2376#>
func@star<#198#>long getl(FILE &sstarf#star;fp);<#198#>
=2000
to <#2380#>
<#2381#>by -Read a long value from stream <#2382#>
func@star<#200#>char &sstarf#star;gets(char &sstarf#star;buf);<#200#>
=2000
to <#2383#>
<#2384#>by -Get a string from stdin;SPMgt; into <#2385#>
func@star<#202#>short getw(FILE &sstarf#star;fp);<#202#>
=2000
to <#2386#>
<#2387#>by -Read a short value from stream <#2388#>
func@star<#204#>int pclose(FILE &sstarf#star;fp);<#204#>
=2000
to <#2389#>
<#2390#>by -Close the stream created by <#2391#>
func@star<#206#>void perror(const~char &sstarf#star;str);<#206#>
=2000
to <#2392#>
<#2393#>by -Display error message starting with <#2394#>
func@star<#209#>FILE &sstarf#star;popen(const~char &sstarf#star;command, const~char &sstarf#star;mode);<#209#>
=2000
to <#2396#>
<#2397#>by -Open a pipe with <#2398#>
func@star<#212#>int printf(const~char &sstarf#star;fmt, …);<#212#>
func@star<#213#>int fprintf(FILE &sstarf#star;fp, const~char &sstarf#star;fmt, …);<#213#>
func@star<#214#>int sprintf(char &sstarf#star;buf, const~char &sstarf#star;fmt, …);<#214#>
func@star<#215#>int vprintf(const~char &sstarf#star;fmt, char &sstarf#star;);<#215#>
func@star<#216#>int vfprintf(FILE &sstarf#star;fp, const~char &sstarf#star;fmt, char &sstarf#star;);<#216#>
func@star<#217#>int vsprintf(char &sstarf#star;buf, const~char &sstarf#star;fmt, char &sstarf#star;);<#217#>
=2000
to <#2400#>
<#2401#>by -Formated output to either stdout;SPMgt;, <#2402#>
<#1999#>=The following table lists the identifying letters of
the <#220#>
<#1999#>
= #1##2##3<#2405#>##1;SPMamp;;SPMamp;##2;SPMamp;;SPMamp;##3<#2405#> ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp; ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;## ;SPMamp;scanf;SPMamp;;SPMamp;printf;SPMamp;;SPMamp;Meaning;SPMamp; <#224#>
func@star<#297#>long putl(long c, FILE &sstarf#star;fp);<#297#>
=2000
to <#2407#>
<#2408#>by -Output the long value <#2409#>
func@star<#300#>int puts(const~char &sstarf#star;buf);<#300#>
=2000
to <#2411#>
<#2412#>by -Write the string in <#2413#>
func@star<#302#>short putw(short c, FILE &sstarf#star;fp);<#302#>
=2000
to <#2414#>
<#2415#>by -Output the short value <#2416#>
func@star<#305#>int remove(const~char &sstarf#star;fname);<#305#>
=2000
to <#2418#>
<#2419#>by -Remove file with name <#2420#>
func@star<#307#>int rename(const~char &sstarf#star;old, const~char &sstarf#star;new);<#307#>
=2000
to <#2421#>
<#2422#>by -Change name of file from <#2423#>
func@star<#310#>void rewind(FILE &sstarf#star;fp);<#310#>
=2000
to <#2425#>
<#2426#>by -Reset the filepointer from stream <#2427#>
func@star<#312#>int scanf(const~char &sstarf#star;fmt, …);<#312#>
func@star<#313#>int fscanf(FILE &sstarf#star;fp, const~char &sstarf#star;fmt, …);<#313#>
func@star<#314#>int sscanf(const~char &sstarf#star;buf, const~char &sstarf#star;fmt, …);<#314#>
=2000
to <#2428#>
<#2429#>by -Formated input from either stdin;SPMgt;, <#2430#>
func@star<#319#>void setbuf(FILE &sstarf#star;fp, char &sstarf#star;buf);<#319#>
=2000
to <#2434#>
<#2435#>by -Set buffer of stream <#2436#>
The following functions are defined as macros.
func@star<#322#>int setvbuf(FILE &sstarf#star;fp, char &sstarf#star;buf, int mode, size_t sz);<#322#>
=2000
to <#2438#>
<#2439#>by -Set buffer of stream <#2440#>
func@star<#327#>FILE &sstarf#star;tmpfile(void);<#327#> =2000 to <#2444#> <#2445#>by -Create a temporary file. File is deleted on normal termination.<#2445#><#2444#>
func@star<#329#>char &sstarf#star;tmpnam(char &sstarf#star;buf);<#329#> =2000 to <#2446#> <#2447#>by -Create a string for a temporary filename.<#2447#><#2446#>
func@star<#331#>void _binmode(int bool);<#331#> =2000 to <#2448#> <#2449#>by -Set default open mode to binary (bool = true) or text.<#2449#><#2448#>
<#2450#>I/O Control<#2450#>
<#2451#>
#include ioctl.h;SPMgt;
func@star<#334#>int ioctl(int fd, int cmd, void &sstarf#star;arg);<#334#> =2000 to <#2456#> <#2457#>by -Set or inquire i/o dependend parameter.<#2457#><#2456#>
func@star<#336#>int stty(int fd, struct sgttyb &sstarf#star;_tty);<#336#>
func@star<#337#>int gtty(int fd, struct sgttyb &sstarf#star;_tty);<#337#>
=2000
to <#2458#>
<#2459#>by -Set or inquire i/o parameters for descriptor <#2460#>
#include fcntl.h;SPMgt;
func@star<#339#>int fcntl(int fd, int cmd, …);<#339#> =2000 to <#2461#> <#2462#>by -Set or inquire file i/o dependend parameter (MiNT).<#2462#><#2461#>
<#2463#>Memory Management<#2463#>
<#2464#>
#include stdlib.h;SPMgt;
func@star<#342#>void &sstarf#star;calloc(size_t no, size_t sz);<#342#>
=2000
to <#2469#>
<#2470#>by -Allocate and initialize memory for <#2471#>
func@star<#345#>void &sstarf#star;malloc(size_t sz);<#345#>
=2000
to <#2473#>
<#2474#>by -Allocate <#2475#>
func@star<#347#>void &sstarf#star;realloc(void &sstarf#star;ptr, size_t sz);<#347#>
=2000
to <#2476#>
<#2477#>by -Resize memory pointed to by <#2478#>
func@star<#350#>void free(void &sstarf#star;ptr);<#350#>
=2000
to <#2480#>
<#2481#>by -Free memory obtained by <#2482#>
func@star<#354#>void &sstarf#star;alloca(size_t sz);<#354#>
=2000
to <#2485#>
<#2486#>by -Allocate <#2487#>
func@star<#356#>void _malloczero(int bool);<#356#> =2000 to <#2488#> <#2489#>by -Zero allocated memory blocks. Default = = false.<#2489#><#2488#>
func@star<#358#>void _mallocChunkSize(size_t Siz);<#358#>
=2000
to <#2490#>
<#2491#>by -Get memory from OS in atleast <#2492#>
#include memory.h;SPMgt;
func@star<#360#>void &sstarf#star;_calloc(unsigned~long no, unsigned~long sz);<#360#>
func@star<#361#>void &sstarf#star;_malloc(unsigned~long sz);<#361#>
func@star<#362#>void &sstarf#star;_realloc(void &sstarf#star;ptr, unsigned~long sz);<#362#>
=2000
to <#2493#>
<#2494#>by -Apart from the above functions, these three functions are
additionally declared in memory.h and take <#2495#>
<#2496#>Character Classification and Conversion<#2496#>
<#2497#>
The following functions return ≠ 0, if character <#365#>
#include ctype.h;SPMgt;
<#2017#><#366#>
Character conversion functions
<#2018#><#401#>
<#2502#>String Handling<#2502#>
<#2503#>
#include string.h;SPMgt;
func@star<#415#>int bcmp(const~void &sstarf#star;ptr1, const~void &sstarf#star;ptr2, size_t no);<#415#>
=2000
to <#2508#>
<#2509#>by -Compare <#2510#>
func@star<#419#>void bcopy(const~void &sstarf#star;src, void &sstarf#star;dst, size_t len);<#419#>
=2000
to <#2513#>
<#2514#>by -Copy <#2515#>
func@star<#423#>void bzero(void &sstarf#star;dst, size_t len);<#423#>
=2000
to <#2518#>
<#2519#>by -Set <#2520#>
func@star<#426#>char &sstarf#star;index(const~char &sstarf#star;str, int charw);<#426#>
func@star<#427#>char &sstarf#star;rindex(const~char &sstarf#star;str, int charw);<#427#>
=2000
to <#2522#>
<#2523#>by -Same as <#2524#>
func@star<#430#>void &sstarf#star;memccpy(void &sstarf#star;dst, const~void &sstarf#star;src, int ucharstop, size_t no);<#430#>
=2000
to <#2526#>
<#2527#>by -Copy characters from <#2528#>
func@star<#435#>void &sstarf#star;memchr(const~void &sstarf#star;ptr, int ucharwanted, size_t no);<#435#>
=2000
to <#2532#>
<#2533#>by -Find character <#2534#>
func@star<#439#>int memcmp(const~void &sstarf#star;ptr1, const~void &sstarf#star;ptr2, size_t no);<#439#>
=2000
to <#2537#>
<#2538#>by -Compare <#2539#>
func@star<#443#>void &sstarf#star;memcpy(void &sstarf#star;dst, const~void &sstarf#star;src, size_t no);<#443#>
=2000
to <#2542#>
<#2543#>by -Copy <#2544#>
func@star<#447#>void &sstarf#star;memset(void &sstarf#star;ptr, int ucharfill, size_t no);<#447#>
=2000
to <#2547#>
<#2548#>by -Set <#2549#>
func@star<#451#>char &sstarf#star;strcat(char &sstarf#star;dst, const~char &sstarf#star;src);<#451#>
func@star<#452#>char &sstarf#star;strncat(char &sstarf#star;dst, const~char &sstarf#star;src, size_t no);<#452#>
=2000
to <#2552#>
<#2553#>by -Concatenate the string at <#2554#>
func@star<#457#>char &sstarf#star;strchr(const~char &sstarf#star;str, int charw);<#457#>
func@star<#458#>char &sstarf#star;strrchr(const~char &sstarf#star;str, int charw);<#458#>
=2000
to <#2558#>
<#2559#>by -Find first (last) occurence of character <#2560#>
func@star<#461#>int strcmp(const~char &sstarf#star;str1, const~char &sstarf#star;str2);<#461#>
func@star<#462#>int strncmp(const~char &sstarf#star;str1, const~char &sstarf#star;str2, size_t no);<#462#>
=2000
to <#2562#>
<#2563#>by -Compare string <#2564#>
func@star<#467#>char &sstarf#star;strcpy(char &sstarf#star;dst, const~char &sstarf#star;src);<#467#>
func@star<#468#>char &sstarf#star;strncpy(char &sstarf#star;dst, const~char &sstarf#star;src, size_t no);<#468#>
=2000
to <#2568#>
<#2569#>by -Copy string at <#2570#>
func@star<#473#>size_t strcspn(const~char &sstarf#star;str, const~char &sstarf#star;rej);<#473#>
=2000
to <#2574#>
<#2575#>by -Find length of initial segment of <#2576#>
func@star<#476#>char &sstarf#star;strdup(const~char &sstarf#star;str);<#476#>
=2000
to <#2578#>
<#2579#>by -Return a duplicate of string <#2580#>
func@star<#478#>char &sstarf#star;strerror(int errno);<#478#>
=2000
to <#2581#>
<#2582#>by -Map error number <#2583#>
func@star<#480#>int stricmp(const~char &sstarf#star;str1, const~char &sstarf#star;str2);<#480#>
func@star<#481#>int strcmpi(const~char &sstarf#star;str1, const~char &sstarf#star;str2);<#481#>
func@star<#482#>int strnicmp(const~char &sstarf#star;str1, const~char &sstarf#star;str2, size_t no);<#482#>
func@star<#483#>int strncmpi(const~char &sstarf#star;str1, const~char &sstarf#star;str2, size_t no);<#483#>
=2000
to <#2584#>
<#2585#>by -Same as <#2586#>
func@star<#486#>size_t strlen(const~char &sstarf#star;str);<#486#>
=2000
to <#2588#>
<#2589#>by -Return length of string <#2590#>
func@star<#488#>char &sstarf#star;strlwr(char &sstarf#star;str);<#488#>
=2000
to <#2591#>
<#2592#>by -Change all character from string <#2593#>
func@star<#490#>char &sstarf#star;strpbrk(const~char &sstarf#star;str, const~char &sstarf#star;breakat);<#490#>
=2000
to <#2594#>
<#2595#>by -First occurrence of a character from string <#2596#>
func@star<#493#>char &sstarf#star;strrev(char &sstarf#star;str);<#493#>
=2000
to <#2598#>
<#2599#>by -Reverse all charcters in string <#2600#>
func@star<#495#>size_t strspn(const~char &sstarf#star;str, const~char &sstarf#star;accept);<#495#>
=2000
to <#2601#>
<#2602#>by -Find length of initial segment of <#2603#>
func@star<#498#>char &sstarf#star;strstr(const~char &sstarf#star;str, const~char &sstarf#star;wanted);<#498#>
=2000
to <#2605#>
<#2606#>by -Find first occurence of string <#2607#>
func@star<#501#>char &sstarf#star;strtok(char &sstarf#star;str, const~char &sstarf#star;delim);<#501#>
=2000
to <#2609#>
<#2610#>by -Retrieve fields from string <#2611#>
<#2613#>Process Management<#2613#>
<#2614#>
#include stdlib.h;SPMgt;
func@star<#505#>void abort();<#505#> =2000 to <#2619#> <#2620#>by -Immediatly abort the running program.<#2620#><#2619#>
func@star<#507#>int atexit(void (&sstarf#star;func)());<#507#> =2000 to <#2621#> <#2622#>by -Register a function for execution on termination.<#2622#><#2621#>
func@star<#509#>void exit(int ret);<#509#>
=2000
to <#2623#>
<#2624#>by -Exit current process with return value <#2625#>
func@star<#511#>int system(const~char &sstarf#star;prog);<#511#>
=2000
to <#2626#>
<#2627#>by -Execute command <#2628#>
#include process.h;SPMgt;
func@star<#513#>int spawnl(int mode, char &sstarf#star;path, …);<#513#>
func@star<#2045#>int spawnv(int mode, char &sstarf#star;path, char <#514#>&sstarf#star;&sstarf#star;<#514#>argv);<#2045#>
func@star<#515#>int spawnle(int mode, char &sstarf#star;path, …);<#515#>
func@star<#2046#>int spawnve(int mode, char &sstarf#star;path, char <#516#>&sstarf#star;&sstarf#star;<#516#>argv, char <#517#>&sstarf#star;&sstarf#star;<#517#>envp);<#2046#>
=2000
to <#2629#>
<#2630#>by -Spawn a new process. (Only <#2631#>
func@star<#2048#>int spawnvp(int mode, char &sstarf#star;name, char <#520#>&sstarf#star;&sstarf#star;<#520#>argv);<#2048#> func@star<#521#>int spawnlp(int mode, char &sstarf#star;name, …);<#521#> =2000 to <#2633#> <#2634#>by -Execute a program on the defautl system execution path. (The current directory is always searched first.)<#2634#><#2633#>
<#2635#>Date and Time<#2635#>
<#2636#>
#include time.h;SPMgt;
func@star<#524#>char &sstarf#star;asctime(const~struct tm &sstarf#star;t);<#524#> =2000 to <#2641#> <#2642#>by -Convert ``time'' structure to a string.<#2642#><#2641#>
func@star<#526#>clock_t clock();<#526#> =2000 to <#2643#> <#2644#>by -Return process time used so far in units of CLK_TCK ticks per second (under TOS, 200 per second).<#2644#><#2643#>
func@star<#528#>char &sstarf#star;ctime(const~time_t &sstarf#star;t);<#528#> =2000 to <#2645#> <#2646#>by -Convert time in seconds since 1970 to a string.<#2646#><#2645#>
func@star<#530#>double difftime(time_t t1, time_t t2);<#530#> =2000 to <#2647#> <#2648#>by -Return difference between two ``time_t'' types.<#2648#><#2647#>
func@star<#532#>struct~tm &sstarf#star;gmtime(const~time_t &sstarf#star;t);<#532#> =2000 to <#2649#> <#2650#>by -Get the Greenwich Mean time.<#2650#><#2649#>
func@star<#534#>struct~tm &sstarf#star;localtime(const~time_t &sstarf#star;t);<#534#> =2000 to <#2651#> <#2652#>by -Convert given time in seconds since 1970 to local time.<#2652#><#2651#>
func@star<#536#>time_t mktime(const~struct tm &sstarf#star;t);<#536#> =2000 to <#2653#> <#2654#>by -Take a time structure and convert it into representation ``seconds since midnight January 1 1970, GMT''.<#2654#><#2653#>
func@star<#538#>size_t strftime(char &sstarf#star;s, size_t maxsize, const~char &sstarf#star;format, const~struct tm &sstarf#star;timeptr);<#538#> =2000 to <#2655#> <#2656#>by -Print formatted information about a given time.<#2656#><#2655#>
func@star<#540#>time_t time(time_t &sstarf#star;t);<#540#> =2000 to <#2657#> <#2658#>by -Return time in seconds since midnight January 1 1970, GMT.<#2658#><#2657#>
func@star<#542#>void tzset();<#542#> =2000 to <#2659#> <#2660#>by -Set the timezone and dst flag to the local rules (depending on environment variable ``TZ'').<#2660#><#2659#>
<#2661#>File and Directory Information<#2661#>
<#2662#>
#include stat.h;SPMgt;
func@star<#545#>int fstat(int fd, struct stat &sstarf#star;info);<#545#>
=2000
to <#2667#>
<#2668#>by -Obtain information about file assosiated with filedescriptor <#2669#>
func@star<#547#>int lstat(const~char &sstarf#star;fname, struct stat &sstarf#star;info);<#547#>
=2000
to <#2670#>
<#2671#>by -Like <#2672#>
func@star<#550#>int stat(const~char &sstarf#star;fname, struct stat &sstarf#star;info);<#550#>
=2000
to <#2674#>
<#2675#>by -Obtain information about file <#2676#>
#include dirent.h;SPMgt;
func@star<#552#>int closedir(DIR &sstarf#star;dirp);<#552#>
=2000
to <#2677#>
<#2678#>by -Close directory assosiated with <#2679#>
func@star<#554#>DIR &sstarf#star;opendir(const~char &sstarf#star;dirname);<#554#>
=2000
to <#2680#>
<#2681#>by -Open directory <#2682#>
func@star<#556#>struct~dirent &sstarf#star;readdir(DIR &sstarf#star;dirp);<#556#>
=2000
to <#2683#>
<#2684#>by -Read an entry from directory assosiated with <#2685#>
func@star<#558#>void rewinddir(DIR &sstarf#star;dirp);<#558#>
=2000
to <#2686#>
<#2687#>by -Seek to the beginning of directory assosiated with <#2688#>
func@star<#560#>void seekdir(DIR &sstarf#star;dirp, off_t loc);<#560#>
=2000
to <#2689#>
<#2690#>by -Seek to position <#2691#>
func@star<#563#>off_t telldir(DIR &sstarf#star;dirp);<#563#>
=2000
to <#2693#>
<#2694#>by -Get the current position in directory assosiated with <#2695#>
func@star<#2058#>int alphasort(struct~dirent <#565#>&sstarf#star;&sstarf#star;<#565#>src, struct~dirent <#566#>&sstarf#star;&sstarf#star;<#566#>dst);<#2058#> =2000 to <#2696#> <#2697#>by -<#2697#><#2696#>
#include ftw.h;SPMgt;
func@star<#568#>int ftw(char &sstarf#star;path, int (&sstarf#star;fn)(), int param);<#568#>
=2000
to <#2698#>
<#2699#>by -Recursively walk tree rooted at <#2700#>
<#2702#>Regular Expressions<#2702#>
<#2703#>
#include regexp.h;SPMgt;
func@star<#572#>regexp &sstarf#star;regcomp(char &sstarf#star;exp);<#572#> =2000 to <#2708#> <#2709#>by -Compile a regular expression into an internal code.<#2709#><#2708#>
func@star<#574#>int regexec(regexp &sstarf#star;prog, char &sstarf#star;string, int bolflag);<#574#>
=2000
to <#2710#>
<#2711#>by -Match the previously compiled expression <#2712#>
func@star<#577#>void regsub(regexp &sstarf#star;prog, char &sstarf#star;source, char &sstarf#star;dest);<#577#>
=2000
to <#2714#>
<#2715#>by -Substitute the previously matched expression <#2716#>
func@star<#581#>void regdump(regexp &sstarf#star;r);<#581#>
=2000
to <#2719#>
<#2720#>by -Dump the regular expression <#2721#>
<#2722#>Setjmp
<#2723#>
#include setjmp.h;SPMgt;
func@star<#584#>int setjmp(jmp_buf buf);<#584#>
=2000
to <#2728#>
<#2729#>by -Prepare buffer <#2730#>
func@star<#587#>void longjmp(jmp_buf buf, int rv);<#587#>
=2000
to <#2732#>
<#2733#>by -Return to previously saved context <#2734#>
func@star<#590#>int catch(jmp_buf id, int (*fn)(void));<#590#> =2000 to <#2736#> <#2737#>by -<#2737#><#2736#>
func@star<#592#>void throw(jmp_buf id, int rv);<#592#> =2000 to <#2738#> <#2739#>by -<#2739#><#2738#>
#include signal.h;SPMgt;
func@star<#2065#><#594#>__Sigfunc<#594#> signal(int sig, __Sigfunc func);<#2065#>
=2000
to <#2740#>
<#2741#>by -Install the handler <#2742#>
func@star<#597#>int raise(int sig);<#597#> =2000 to <#2744#> <#2745#>by -<#2745#><#2744#>
func@star<#599#>long sigsetmask(long mask);<#599#> =2000 to <#2746#> <#2747#>by -(MiNT)<#2747#><#2746#>
func@star<#601#>long sigblock(long mask);<#601#> =2000 to <#2748#> <#2749#>by -(MiNT)<#2749#><#2748#>
<#2750#>U*IX Compatibility Routines<#2750#>
<#2751#>
#include unistd.h;SPMgt;
func@star<#604#>void _exit(int ret);<#604#>
=2000
to <#2756#>
<#2757#>by -Exit the current process without cleaning up. (This is a <#2758#>
func@star<#606#>int access(const~char &sstarf#star;fname, int mode);<#606#>
=2000
to <#2759#>
<#2760#>by -Check, if file <#2761#>
func@star<#609#>unsigned~int alarm(unsigned~int sec);<#609#>
=2000
to <#2763#>
<#2764#>by -Instructs the alarm clock of the calling process to send the signal
SIGALRM to the calling process after <#2765#>
func@star<#611#>int chdir(const~char &sstarf#star;dname);<#611#>
=2000
to <#2766#>
<#2767#>by -Chane the current working directory to <#2768#>
func@star<#613#>int chmod(const~char &sstarf#star;fname, int mode);<#613#>
=2000
to <#2769#>
<#2770#>by -Change permissions of file <#2771#>
func@star<#616#>int chown(const~char &sstarf#star;fname, int uid, int gid);<#616#>
=2000
to <#2773#>
<#2774#>by -Change owner and group of file <#2775#>
func@star<#618#>int close(int fd);<#618#>
=2000
to <#2776#>
<#2777#>by -Close the file assosiated with file descriptor <#2778#>
func@star<#620#>int creat(const~char &sstarf#star;fname, unsigned mode);<#620#>
=2000
to <#2779#>
<#2780#>by -Create the file <#2781#>
func@star<#623#>int dup(int fd);<#623#>
=2000
to <#2783#>
<#2784#>by -Duplicate filedescriptor <#2785#>
func@star<#625#>int dup2(int fd1, int fd2);<#625#>
=2000
to <#2786#>
<#2787#>by -Duplicate filedescriptor <#2788#>
func@star<#628#>int execl(char &sstarf#star;path, …);<#628#>
func@star<#2077#>int execle(char &sstarf#star;path, …, char <#629#>&sstarf#star;&sstarf#star;<#629#>envp);<#2077#>
func@star<#630#>int execlp(char &sstarf#star;path, …);<#630#>
=2000
to <#2790#>
<#2791#>by -Execute a new process from <#2792#>
func@star<#2079#>int execv(char &sstarf#star;path, char <#634#>&sstarf#star;&sstarf#star;<#634#>argv);<#2079#>
func@star<#2080#>int execvp(char &sstarf#star;path, char <#635#>&sstarf#star;&sstarf#star;<#635#>argv);<#2080#>
func@star<#2081#>int execve(char &sstarf#star;path, char <#636#>&sstarf#star;&sstarf#star;<#636#>argv, char <#637#>&sstarf#star;&sstarf#star;<#637#>envp);<#2081#>
=2000
to <#2795#>
<#2796#>by -Execute a new process from <#2797#>
func@star<#641#>int fork();<#641#>
func@star<#642#>int vfork();<#642#>
=2000
to <#2800#>
<#2801#>by -Simulate a non multitasking fork. <#2802#>
func@star<#644#>char &sstarf#star;getcwd(char &sstarf#star;buf, int size);<#644#> func@star<#645#>char &sstarf#star;getwd(char &sstarf#star;buf);<#645#> =2000 to <#2803#> <#2804#>by -Get the current working directory.<#2804#><#2803#>
func@star<#647#>unsigned~short getgid();<#647#> func@star<#648#>unsigned~short getuid();<#648#> =2000 to <#2805#> <#2806#>by -Get user and group id's. (Fake for now, returning alsways root).<#2806#><#2805#>
func@star<#650#>unsigned~short getegid();<#650#> func@star<#651#>unsigned~short geteuid();<#651#> =2000 to <#2807#> <#2808#>by -Get effective user and group id's.<#2808#><#2807#>
func@star<#653#>int getgroups(int setlen, gid_t &sstarf#star;gidset);<#653#>
=2000
to <#2809#>
<#2810#>by -Retrieves the current group access list of the user process and
stores it in <#2811#>
func@star<#655#>char &sstarf#star;getlogin();<#655#> =2000 to <#2812#> <#2813#>by -Return the user's login name. (Password file and environment are seached in order).<#2813#><#2812#>
func@star<#2085#>int getopt(int argc, const~char <#657#>&sstarf#star;&sstarf#star;<#657#>argv, const~char &sstarf#star;opt);<#2085#>
=2000
to <#2814#>
<#2815#>by -Extract the command line options described by <#2816#>
func@star<#660#>int getpagesize (void);<#660#> =2000 to <#2818#> <#2819#>by -Get system page size<#2819#><#2818#>
func@star<#662#>char /*getpass(char *prompt);<#662#> =2000 to <#2820#> <#2821#>by -<#2821#><#2820#>
func@star<#664#>int getpgrp();<#664#>
func@star<#665#>int setpgrp();<#665#>
=2000
to <#2822#>
<#2823#>by -Get or create a process group (This basically a fake; both
return <#2824#>
func@star<#667#>int getpid();<#667#> func@star<#668#>int getppid();<#668#> func@star<#669#>int setpgid (pid_t pid, pid_t pgid);<#669#> =2000 to <#2825#> <#2826#>by -Return a process id for the currently running process (or the parent process) (from the basepage).<#2826#><#2825#>
func@star<#671#>char &sstarf#star;initstate(unsigned seed, char &sstarf#star;arg_state, int n);<#671#>
=2000
to <#2827#>
<#2828#>by -Initialize state array of generator for <#2829#>
func@star<#673#>int isatty(int fd);<#673#>
=2000
to <#2830#>
<#2831#>by -Check, if <#2832#>
func@star<#675#>int link(const~char &sstarf#star;old , const~char &sstarf#star;new);<#675#>
=2000
to <#2833#>
<#2834#>by -Make a new link from <#2835#>
func@star<#678#>long lseek(int fd, long pos, int whence);<#678#>
=2000
to <#2837#>
<#2838#>by -Set the current file posistion to position <#2839#>
func@star<#681#>int mkdir(const~char &sstarf#star;dname, unsigned mode);<#681#>
=2000
to <#2841#>
<#2842#>by -Make a directory with name <#2843#>
func@star<#684#>char &sstarf#star;mktemp(char &sstarf#star;pattern);<#684#>
=2000
to <#2845#>
<#2846#>by -Return a filename for a temporary file, build after <#2847#>
func@star<#686#>int open(const~char &sstarf#star;fname, int mode, …);<#686#>
=2000
to <#2848#>
<#2849#>by -Open the file <#2850#>
func@star<#689#>long pathconf (const char &sstarf#star;path, int name);<#689#> =2000 to <#2852#> <#2853#>by -Get configurable pathname variables.<#2853#><#2852#>
<#2095#>=The following table lists the possible values
for <#691#>
<#2095#>
;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; name;SPMamp;;SPMamp;Meaning <#694#>
func@star<#707#>int pause (void);<#707#> =2000 to <#2859#> <#2860#>by -Suspends the calling process until it receives a signal.<#2860#><#2859#>
func@star<#709#>int pipe (int &sstarf#star;fildes);<#709#>
=2000
to <#2861#>
<#2862#>by -Creates a pipe and returns two file descriptors. <#2863#>
func@star<#712#>void psignal(int signal, const~char &sstarf#star;prefix);<#712#> =2000 to <#2865#> <#2866#>by -Print a error message describing the signal with a user comment.<#2866#><#2865#>
func@star<#714#>long random();<#714#> =2000 to <#2867#> <#2868#>by -Return a pseudo random number in the range from 0 to 231 - 1.<#2868#><#2867#>
func@star<#716#>int rmdir(const~char &sstarf#star;dname);<#716#>
=2000
to <#2869#>
<#2870#>by -Remove the directory with name <#2871#>
func@star<#718#>int read(int fd, void &sstarf#star;buf, unsigned cnt);<#718#>
func@star<#719#>long _read(int fd, void &sstarf#star;buf, unsigned~long cnt);<#719#>
=2000
to <#2872#>
<#2873#>by -Read <#2874#>
func@star<#723#>int readlink (char &sstarf#star;filenam, char &sstarf#star;linkto, int siz);<#723#> =2000 to <#2877#> <#2878#>by -Read value of a symbolic link<#2878#><#2877#>
func@star<#725#>void &sstarf#star;sbrk(unsigned~long size);<#725#>
func@star<#726#>void &sstarf#star;lsbrk(long size);<#726#>
=2000
to <#2879#>
<#2880#>by -Emulation of the U&sstarf#star;ix <#2881#>
func@star<#728#>void setlinebuf(void &sstarf#star;fp);<#728#>
=2000
to <#2882#>
<#2883#>by -Change the buffering on stream <#2884#>
func@star<#730#>int setgid(int gid);<#730#> func@star<#731#>int setuid(int uid);<#731#> =2000 to <#2885#> <#2886#>by -Set the real group or user id.<#2886#><#2885#>
func@star<#733#>int setegid(int gid);<#733#> func@star<#734#>int seteuid(int uid);<#734#> =2000 to <#2887#> <#2888#>by -Set the effective group or user id.<#2888#><#2887#>
func@star<#736#>int setregid (int rgid, int egid);<#736#> func@star<#737#>int setreuid (int ruid, int euid);<#737#> =2000 to <#2889#> <#2890#>by -Set real and effective group or user id.<#2890#><#2889#>
func@star<#739#>int setsid (void);<#739#> =2000 to <#2891#> <#2892#>by -Create session and set process group ids<#2892#><#2891#>
func@star<#741#>char &sstarf#star;setstate(char &sstarf#star;arg_state);<#741#>
=2000
to <#2893#>
<#2894#>by -Switch state of generator for <#2895#>
func@star<#743#>void sigpause(long mask);<#743#> =2000 to <#2896#> <#2897#>by -Suspends the calling process until it receives a signal.<#2897#><#2896#>
func@star<#745#>int sleep(int n);<#745#>
=2000
to <#2898#>
<#2899#>by -Sleep for <#2900#>
func@star<#747#>int srandom(unsigned int x);<#747#>
=2000
to <#2901#>
<#2902#>by -Seed generator for <#2903#>
func@star<#749#>int stime(long &sstarf#star;time);<#749#>
=2000
to <#2904#>
<#2905#>by -Set the current time to <#2906#>
func@star<#751#>int symlink (char &sstarf#star;oldname, char &sstarf#star;newname);<#751#> =2000 to <#2907#> <#2908#>by -Make symbolic link to a file<#2908#><#2907#>
func@star<#753#>long sysconf (int name);<#753#> =2000 to <#2909#> <#2910#>by -Get configurable system variables.<#2910#><#2909#>
<#2105#>=The following table lists the possible values
for <#755#>
<#2105#>
;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; name;SPMamp;;SPMamp;Meaning <#758#>
func@star<#769#>long tell(int fd);<#769#>
=2000
to <#2916#>
<#2917#>by -Get the current file position of the file associated with <#2918#>
func@star<#771#>int times(struct tms &sstarf#star;buf);<#771#>
=2000
to <#2919#>
<#2920#>by -Get process times into <#2921#>
func@star<#773#>char &sstarf#star;ttyname(int file);<#773#> =2000 to <#2922#> <#2923#>by -<#2923#><#2922#>
func@star<#775#>int umask(int mode);<#775#> =2000 to <#2924#> <#2925#>by -Set access mask. (Fake for now)<#2925#><#2924#>
func@star<#777#>int unlink(const~char &sstarf#star;fname);<#777#>
=2000
to <#2926#>
<#2927#>by -Remove the file with name <#2928#>
func@star<#779#>void usleep(unsigned~long n);<#779#>
=2000
to <#2929#>
<#2930#>by -Sleep for <#2931#>
func@star<#781#>int utime(const~char &sstarf#star;fname, const~struct utimbuf &sstarf#star;ftime);<#781#>
=2000
to <#2932#>
<#2933#>by -Set the modification time and date of file <#2934#>
func@star<#784#>int write(int fd, const~void &sstarf#star;buf, unsigned cnt);<#784#>
func@star<#785#>long _write(int fd, const~void &sstarf#star;buf, unsigned~long cnt);<#785#>
=2000
to <#2936#>
<#2937#>by -Write <#2938#>
func@star<#789#>int wait(int &sstarf#star;exit_code);<#789#> =2000 to <#2941#> <#2942#>by -Wait for child process.<#2942#><#2941#>
<#2943#>Password and Group Handling<#2943#>
<#2944#>
#include pwd.h;SPMgt;
func@star<#792#>void endpwent();<#792#> =2000 to <#2949#> <#2950#>by -Close password file.<#2950#><#2949#>
func@star<#794#>struct~passwd &sstarf#star;getpwent();<#794#> =2000 to <#2951#> <#2952#>by -Return an entry from the password file.<#2952#><#2951#>
func@star<#796#>struct~passwd &sstarf#star;getpwuid(int uid);<#796#>
=2000
to <#2953#>
<#2954#>by -Return the entry from the password file for <#2955#>
func@star<#798#>struct~passwd &sstarf#star;getpwnam(const~char &sstarf#star;user);<#798#>
=2000
to <#2956#>
<#2957#>by -Return the entry from the password file for <#2958#>
func@star<#800#>void setpwent();<#800#> =2000 to <#2959#> <#2960#>by -Open password file for further operations.<#2960#><#2959#>
func@star<#802#>void setpwfile(char &sstarf#star;fname);<#802#>
=2000
to <#2961#>
<#2962#>by -Use the <#2963#>
#include grp.h;SPMgt;
func@star<#805#>void endgrent();<#805#> =2000 to <#2965#> <#2966#>by -Close group file.<#2966#><#2965#>
func@star<#807#>struct~group &sstarf#star;getgrent()<#807#> =2000 to <#2967#> <#2968#>by -Return an entry from the group file.<#2968#><#2967#>
func@star<#809#>struct~group &sstarf#star;getgrgid(int gid);<#809#>
=2000
to <#2969#>
<#2970#>by -Return the entry from the group file for <#2971#>
func@star<#811#>struct~group &sstarf#star;getgrnam(char &sstarf#star;gname);<#811#>
=2000
to <#2972#>
<#2973#>by -Return the entry from the group file for <#2974#>
<#2975#>Value Conversion<#2975#>
<#2976#>
#include stdlib.h;SPMgt;
func@star<#814#>double atof(const~char &sstarf#star;str);<#814#>
=2000
to <#2981#>
<#2982#>by -Return double value of number presented in <#2983#>
func@star<#816#>int atoi(const~char &sstarf#star;str);<#816#>
=2000
to <#2984#>
<#2985#>by -Return int value of number presented in <#2986#>
func@star<#818#>long atol(const~char &sstarf#star;str);<#818#>
=2000
to <#2987#>
<#2988#>by -Return long value of number presented in <#2989#>
func@star<#820#>int abs(int val);<#820#>
func@star<#821#>long labs(long val);<#821#>
=2000
to <#2990#>
<#2991#>by -Return absolute value of <#2992#>
func@star<#2121#>long strtol(const~char &sstarf#star;nptr, char <#823#>&sstarf#star;&sstarf#star;<#823#>endptr, int base);<#2121#>
func@star<#2122#>unsigned~long strtoul(const~char &sstarf#star;nptr, char <#824#>&sstarf#star;&sstarf#star;<#824#>endptr, int base);<#2122#>
=2000
to <#2993#>
<#2994#>by -Return the value of the number in <#2995#>
func@star<#2124#>double strtod(const~char &sstarf#star;nptr, char <#828#>&sstarf#star;&sstarf#star;<#828#>endptr);<#2124#>
=2000
to <#2998#>
<#2999#>by -Return the double value of the number in <#3000#>
#include support.h;SPMgt;
func@star<#831#>char &sstarf#star;_itoa(int val, char &sstarf#star;buf, int radix);<#831#>
func@star<#832#>char &sstarf#star;_ltoa(long val, char &sstarf#star;buf, int radix);<#832#>
func@star<#833#>char &sstarf#star;_ultoa(unsigned long val, char &sstarf#star;buf, int radix);<#833#>
=2000
to <#3002#>
<#3003#>by -Convert the value <#3004#>
#include locale.h;SPMgt;
func@star<#837#>struct~lconv &sstarf#star;localeconv();<#837#> =2000 to <#3007#> <#3008#>by -Get rules of the current locale<#3008#><#3007#>
func@star<#839#>char &sstarf#star;setlocale(int category , const~char &sstarf#star;name);<#839#>
=2000
to <#3009#>
<#3010#>by -Define locale named in <#3011#>
<#3012#>Miscellaneous<#3012#>
<#3013#>
func@star<#842#>int _text_read(int fd, char &sstarf#star;buf, int bytes);<#842#>
func@star<#843#>int _text_write(int fd, char &sstarf#star;buf, int bytes);<#843#>
=2000
to <#3018#>
<#3019#>by -The same as <#3020#>
#include stdlib.h;SPMgt;
func@star<#846#>void &sstarf#star;bsearch(const~void &sstarf#star;key, const~void &sstarf#star;base,
size_t num, size_t size, int (&sstarf#star;cmp)());<#846#>
=2000
to <#3022#>
<#3023#>by -Binary search a field starting at <#3024#>
func@star<#851#>div_t div(int num, int denom);<#851#> func@star<#852#>ldiv_t ldiv(long num, long denom);<#852#> =2000 to <#3028#> <#3029#>by -Perform division and return both quotient and remainder.<#3029#><#3028#>
func@star<#854#>char &sstarf#star;getenv(const~char &sstarf#star;name);<#854#>
=2000
to <#3030#>
<#3031#>by -Get the contents of the environment variable <#3032#>
func@star<#856#>void qsort(void &sstarf#star;base, size_t num, size_t size, int (&sstarf#star;cmp)());<#856#>
=2000
to <#3033#>
<#3034#>by -Quick sort an array of <#3035#>
func@star<#860#>int rand();<#860#>
=2000
to <#3038#>
<#3039#>by -Return a pseudo random number in the range from 0 to <#3040#>
func@star<#862#>void srand(unsigned int seed);<#862#>
=2000
to <#3041#>
<#3042#>by -Use <#3043#>
#include keycodes.h;SPMgt;
func@star<#864#>int console_input_status(int handle);<#864#>
=2000
to <#3044#>
<#3045#>by -Check, if character is available from standart CON:. (This is
the same as <#3046#>
func@star<#866#>unsigned~int console_read_byte(int handle);<#866#>
=2000
to <#3047#>
<#3048#>by -Raw input from standart CON: without echoing to screen. (This is
the same as <#3049#>
func@star<#868#>void console_write_byte(int handle, int character);<#868#>
=2000
to <#3050#>
<#3051#>by -Write character <#3052#>
#include support.h;SPMgt;
func@star<#872#>void dos2unx(const~char &sstarf#star;t_fname, char &sstarf#star;u_fname);<#872#> =2000 to <#3055#> <#3056#>by -Convert filenames from TOS format to U&sstarf#star;ix format.<#3056#><#3055#>
func@star<#874#>time_t dostime(time_t);<#874#> =2000 to <#3057#> <#3058#>by -Convert U&sstarf#star;ix time to TOS time and date (lower word = time, upper word = date).<#3058#><#3057#>
func@star<#2137#>char &sstarf#star;findfile(char &sstarf#star;fname, char &sstarf#star;path, char <#876#>&sstarf#star;&sstarf#star;<#876#>ext);<#2137#>
=2000
to <#3059#>
<#3060#>by -Locate the file <#3061#>
func@star<#880#>void fnmapfunc(fnmapfunc_t u2dos, fnmapfunc_t dos2u);<#880#>
=2000
to <#3064#>
<#3065#>by -Set mapping functions for the <#3066#>
func@star<#883#>int symlink(char &sstarf#star;old , char &sstarf#star;new);<#883#>
=2000
to <#3068#>
<#3069#>by -Make a new symbolic link from <#3070#>
func@star<#886#>int readlink(char &sstarf#star;fname , char &sstarf#star;buf, int siz);<#886#>
=2000
to <#3072#>
<#3073#>by -Read the link for <#3074#>
func@star<#889#>time_t unixtime(unsigned tostime, unsigned tosdate);<#889#> =2000 to <#3076#> <#3077#>by -Convert a TOS time/date pair into a U&sstarf#star;ix time.<#3077#><#3076#>
func@star<#891#>void unx2dos(const~char &sstarf#star;u_fname, char &sstarf#star;t_fname);<#891#> =2000 to <#3078#> <#3079#>by -Convert filenames from U&sstarf#star;ix format to TOS format.<#3079#><#3078#>
func@star<#893#>void _set_unixmode(char &sstarf#star;mode);<#893#> =2000 to <#3080#> <#3081#>by -Set features of the extended file system.<#3081#><#3080#>
func@star<#895#>void _uniquefy(char &sstarf#star;dos);<#895#> =2000 to <#3082#> <#3083#>by -Make an unigue TOS filename for the extended file system.<#3083#><#3082#>
#include sysvars.h;SPMgt;
func@star<#897#>long get_sysvar(void &sstarf#star;var);<#897#>
=2000
to <#3084#>
<#3085#>by -Get the contents of the system variable <#3086#>
func@star<#899#>void set_sysvar_to_long(void &sstarf#star;var, long val);<#899#>
=2000
to <#3087#>
<#3088#>by -Set the system variable <#3089#>
<#3091#>Profiling<#3091#>
<#3092#>
#include support.h;SPMgt;
also see <#903#>
func@star<#906#>void monstartup(void &sstarf#star;lpc, void &sstarf#star;hpc);<#906#>
=2000
to <#3097#>
<#3098#>by -High level interface to <#3099#>
func@star<#909#>void monitor(void &sstarf#star;lpc, void &sstarf#star;hpc, void &sstarf#star;buf,
size_t bsiz, unsigned int nfunc);<#909#>
=2000
to <#3101#>
<#3102#>by -Low level interface to profil. <#3103#>
func@star<#914#>void moncontrol(long flag);<#914#> =2000 to <#3107#> <#3108#>by -Selectively control profiling in a program.<#3108#><#3107#>
func@star<#916#>int profil(void &sstarf#star;buf, unsigned~long bsiz, unsigned~long off,
int shift);<#916#>
=2000
to <#3109#>
<#3110#>by -Execution time profil. Pc is examined every 20ms, (PC-off)
<#3112#>Mathematical Functions<#3112#>
<#3113#>
#include math.h;SPMgt;
func@star<#919#>double acos(double);<#919#> func@star<#920#>double acosh(double);<#920#> func@star<#921#>double asin(double);<#921#> func@star<#922#>double asinh(double);<#922#> func@star<#923#>double atan(double);<#923#> func@star<#924#>double atan2(double, double);<#924#> func@star<#925#>double atanh(double);<#925#> func@star<#926#>double ceil(double);<#926#> func@star<#927#>double copysign(double, double);<#927#> func@star<#928#>double cos(double);<#928#> func@star<#929#>double cosh(double);<#929#> func@star<#930#>double dabs(double);<#930#> func@star<#931#>double exp(double);<#931#> func@star<#932#>double fabs(double);<#932#> func@star<#933#>double floor(double);<#933#> func@star<#934#>double fmod(double, double);<#934#> func@star<#935#>double frexp(double, int &sstarf#star;);<#935#> func@star<#936#>double ldexp(double, int);<#936#> func@star<#937#>double log(double);<#937#> func@star<#938#>double log10(double);<#938#> func@star<#939#>double modf(double, double &sstarf#star;);<#939#> func@star<#940#>double poly(int, double &sstarf#star;, double);<#940#> func@star<#941#>double pow(double, double);<#941#> func@star<#942#>double rint(double);<#942#> func@star<#943#>double sin(double);<#943#> func@star<#944#>double sinh(double);<#944#> func@star<#945#>double sqrt(double);<#945#> func@star<#946#>double tan(double);<#946#> func@star<#947#>double tanh(double);<#947#>
func@star<#948#>int matherr(struct exception &sstarf#star;);<#948#> func@star<#949#>int pmlcfs(int, int);<#949#> func@star<#950#>int pmlcnt(void);<#950#> func@star<#951#>int pmlerr(int);<#951#> func@star<#952#>int pmllim(int);<#952#> func@star<#953#>int pmlsfs(int, int);<#953#>
<#3118#>GEMDOS Calls via Trap 1<#3118#>
<#3119#>
#include osbind.h;SPMgt;
The following assignment is valid by default:
#1##2##3<#3125#>##1;SPMamp;;SPMamp;##2;SPMamp;;SPMamp;##3<#3125#> ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp; ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;## ;SPMamp;Device;SPMamp;;SPMamp;handle;SPMamp;;SPMamp;;SPMamp; <#958#>
func@star<#971#>long Cauxin();<#971#> =2000 to <#3127#> <#3128#>by -Read character from standart AUX:.<#3128#><#3127#>
func@star<#973#>short Cauxis();<#973#> =2000 to <#3129#> <#3130#>by -Check, if character is available from standart AUX:.<#3130#><#3129#>
func@star<#975#>short Cauxos();<#975#> =2000 to <#3131#> <#3132#>by -Check, if character can be written to standart AUX:.<#3132#><#3131#>
func@star<#977#>void Cauxout(short c);<#977#>
=2000
to <#3133#>
<#3134#>by -Write character <#3135#>
func@star<#979#>long Cconin();<#979#> =2000 to <#3136#> <#3137#>by -Read a character from standart CON:.<#3137#><#3136#>
func@star<#981#>short Cconis();<#981#> =2000 to <#3138#> <#3139#>by -Check, if character is available from standart CON:.<#3139#><#3138#>
func@star<#983#>short Cconos();<#983#> =2000 to <#3140#> <#3141#>by -Check, if character can be written to standart CON:.<#3141#><#3140#>
func@star<#985#>void Cconout(short c);<#985#>
=2000
to <#3142#>
<#3143#>by -Write character <#3144#>
func@star<#987#>void Cconrs(char &sstarf#star;buf);<#987#>
=2000
to <#3145#>
<#3146#>by -Read edited data from standart CON:. <#3147#>
func@star<#989#>void Cconws(const~char &sstarf#star;str);<#989#>
=2000
to <#3148#>
<#3149#>by -Write string <#3150#>
func@star<#991#>long Cnecin();<#991#> =2000 to <#3151#> <#3152#>by -Raw input from standart CON: without echoing to screen, but with interpretation of CTRL-S, CRTL-Q and CRTL-C.<#3152#><#3151#>
func@star<#993#>short Cprnos();<#993#> =2000 to <#3153#> <#3154#>by -Check, if character can be written to standart PRN:.<#3154#><#3153#>
func@star<#995#>void Cprnout(short c);<#995#>
=2000
to <#3155#>
<#3156#>by -Write character <#3157#>
func@star<#997#>long Crawcin();<#997#> =2000 to <#3158#> <#3159#>by -Raw input from standart CON: without echoing to screen.<#3159#><#3158#>
func@star<#999#>long Crawio(short data);<#999#>
=2000
to <#3160#>
<#3161#>by -Raw I/O to standart CON:. If <#3162#>
func@star<#1001#>short Dcreate(const~char &sstarf#star;dname);<#1001#>
=2000
to <#3163#>
<#3164#>by -Create a directory with name <#3165#>
func@star<#1003#>long Ddelete(const~char &sstarf#star;dname);<#1003#>
=2000
to <#3166#>
<#3167#>by -Remove a directory with name <#3168#>
func@star<#1005#>long Dfree(DISKINFO &sstarf#star;buf, short drv);<#1005#>
=2000
to <#3169#>
<#3170#>by -Get available space of drive <#3171#>
func@star<#1009#>short Dgetdrv();<#1009#> =2000 to <#3174#> <#3175#>by -Get the number of the default drive.<#3175#><#3174#>
func@star<#1011#>long Dgetpath(void &sstarf#star;buf, short drv);<#1011#>
=2000
to <#3176#>
<#3177#>by -Get the current directory of drive <#3178#>
func@star<#1014#>long Dsetdrv(short d);<#1014#> =2000 to <#3180#> <#3181#>by -Set the number of the default drive.<#3181#><#3180#>
func@star<#1016#>long Dsetpath(const~char &sstarf#star;path);<#1016#>
=2000
to <#3182#>
<#3183#>by -Set path for current drive to <#3184#>
func@star<#1018#>short Fattrib(const~char &sstarf#star;fname, short rwflag, short attr);<#1018#>
=2000
to <#3185#>
<#3186#>by -Get (<#3187#>
func@star<#1022#>long Fclose(short handle);<#1022#>
=2000
to <#3190#>
<#3191#>by -Close the file assosiated with <#3192#>
func@star<#1024#>struct~_dta &sstarf#star;Fgetdta();<#1024#> =2000 to <#3193#> <#3194#>by -Get the current disk transfer address.<#3194#><#3193#>
func@star<#1026#>long Fcreate(const~char &sstarf#star;fname, short mode);<#1026#>
=2000
to <#3195#>
<#3196#>by -Create file <#3197#>
func@star<#1029#>long Fdatime(DOSTIME &sstarf#star;timeptr, short hdl, short rwflg);<#1029#>
=2000
to <#3199#>
<#3200#>by -Get (<#3201#>
func@star<#1033#>long Fdelete(const~char &sstarf#star;fname);<#1033#>
=2000
to <#3204#>
<#3205#>by -Delete file with name <#3206#>
func@star<#1035#>long Fdup(short handle);<#1035#> =2000 to <#3207#> <#3208#>by -Return a second handle for a standart handle (0…5).<#3208#><#3207#>
func@star<#1037#>long Fforce(short Hstd, short Hnew);<#1037#>
=2000
to <#3209#>
<#3210#>by -Replace one of the standart handles (0…5) with <#3211#>
func@star<#1039#>long Fopen(const~char &sstarf#star;fname, short mode);<#1039#>
=2000
to <#3212#>
<#3213#>by -Open file <#3214#>
func@star<#1042#>long Fread(short handle, long cnt, void &sstarf#star;buf);<#1042#>
=2000
to <#3216#>
<#3217#>by -Read <#3218#>
func@star<#1046#>short Frename(const~char &sstarf#star;old, const~char &sstarf#star;new);<#1046#>
=2000
to <#3221#>
<#3222#>by -Change name of file from <#3223#>
func@star<#1049#>long Fseek(long pos, short handle, short whence);<#1049#>
=2000
to <#3225#>
<#3226#>by -Set access pointer to position <#3227#>
func@star<#1052#>void Fsetdta(struct _dta &sstarf#star;ptr);<#1052#>
=2000
to <#3229#>
<#3230#>by -Set the current disk tranfer address to <#3231#>
func@star<#1054#>long Fsfirst(const~char &sstarf#star;filespec, short attr);<#1054#>
=2000
to <#3232#>
<#3233#>by -Get first directory slot, which matches <#3234#>
func@star<#1057#>long Fsnext();<#1057#>
=2000
to <#3236#>
<#3237#>by -Get next match of search started by <#3238#>
func@star<#1059#>long Fwrite(short handle, long cnt, const~void &sstarf#star;buf);<#1059#>
=2000
to <#3239#>
<#3240#>by -Write <#3241#>
func@star<#1063#>long Malloc(long size);<#1063#>
=2000
to <#3244#>
<#3245#>by -Allocate <#3246#>
func@star<#1065#>long Mfree(void &sstarf#star;ptr);<#1065#> =2000 to <#3247#> <#3248#>by -Release block of memory.<#3248#><#3247#>
func@star<#1067#>long Mshrink(long ptr, long size);<#1067#>
=2000
to <#3249#>
<#3250#>by -Shrink size of memory block obtained by <#3251#>
func@star<#2174#>long Pexec(short mode, const~char &sstarf#star;prog, const~char
&sstarf#star;tail, char <#1069#>&sstarf#star;&sstarf#star;<#1069#>env);<#2174#>
=2000
to <#3252#>
<#3253#>by -Execute <#3254#>
= ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; Bit;SPMamp;;SPMamp;Meaning <#1075#>
func@star<#1086#>void Pterm(short rv);<#1086#>
=2000
to <#3263#>
<#3264#>by -Terminate current process with return value <#3265#>
func@star<#1088#>void Pterm0();<#1088#> =2000 to <#3266#> <#3267#>by -Terminate current and return to calling process.<#3267#><#3266#>
func@star<#1090#>void Ptermres(long save, short ret);<#1090#>
=2000
to <#3268#>
<#3269#>by -Terminate and stay resident, but keep <#3270#>
func@star<#1092#>long Super(void &sstarf#star;stack);<#1092#>
=2000
to <#3271#>
<#3272#>by -Inquire (<#3273#>
func@star<#1096#>short Sversion();<#1096#> =2000 to <#3276#> <#3277#>by -Get the version number of GEMDOS.<#3277#><#3276#>
func@star<#1098#>short Tgetdate();<#1098#> =2000 to <#3278#> <#3279#>by -Get the GEMDOS internal date. The harware clock is read in MEGA ST's.<#3279#><#3278#>
<#1100#>=The return value is composed of the following fields:
<#1100#>
= ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; Bits;SPMamp;;SPMamp;Meaning (Range) <#1103#>
func@star<#1110#>short Tgettime();<#1110#> =2000 to <#3285#> <#3286#>by -Get the GEMDOS internal time.<#3286#><#3285#>
<#1112#>=The return value is composed of the following fields:
<#1112#>
= ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; Bits;SPMamp;;SPMamp;Meaning (Range) <#1115#>
func@star<#1122#>long Tsetdate(short date);<#1122#> =2000 to <#3292#> <#3293#>by -Set the GEMDOS internal date.<#3293#><#3292#>
func@star<#1124#>long Tsettime(short time);<#1124#> =2000 to <#3294#> <#3295#>by -Set the GEMDOS internal time.<#3295#><#3294#>
<#3296#>GEMDOS Calls unique to the TT<#3296#>
<#3297#>
#include osbind.h;SPMgt;
func@star<#1127#>long Maddalt(long start, long size);<#1127#>
=2000
to <#3302#>
<#3303#>by -Extend the memory, which is managed by <#3304#>
func@star<#1132#>void &sstarf#star;Mxalloc(long amount, short flag);<#1132#>
=2000
to <#3308#>
<#3309#>by -Allocate <#3310#>
= ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; Value;SPMamp;;SPMamp;Meaning <#1138#>
<#3320#>GEMDOS Calls unique to MiNT<#3320#>
<#3321#>
#include mintbind.h;SPMgt;
func@star<#1148#>long Dclosedir(long dir);<#1148#>
=2000
to <#3326#>
<#3327#>by -Close directory whose handle is <#3328#>
func@star<#1150#>LONG Dcntl(word command, char &sstarf#star;fdname, long argument);<#1150#>
=2000
to <#3329#>
<#3330#>by -Perform a file system specific <#3331#>
func@star<#1155#>int Dlock(short mode, short drive);<#1155#>
=2000
to <#3335#>
<#3336#>by -Lock (<#3337#>
func@star<#1159#>long Dopendir(char &sstarf#star;dname, word flag);<#1159#>
=2000
to <#3340#>
<#3341#>by -Open directory <#3342#>
func@star<#1164#>LONG Dpathconf(char &sstarf#star;name, WORD which);<#1164#>
=2000
to <#3346#>
<#3347#>by -Return information about various limits/capabilities of the file
system on which file <#3348#>
= ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; Value;SPMamp;;SPMamp;Meaning <#1169#>
func@star<#1184#>LONG Dreaddir(word buflen, LONG dirhandle, char &sstarf#star;buf);<#1184#>
=2000
to <#3356#>
<#3357#>by -Return next entry from directory assosiated with <#3358#>
func@star<#1188#>LONG Drewinddir(LONG dirhandle);<#1188#>
=2000
to <#3361#>
<#3362#>by -Rewinds the open directory assosiated with <#3363#>
func@star<#1190#>LONG Fchmod(char &sstarf#star;fname, WORD mode);<#1190#>
=2000
to <#3364#>
<#3365#>by -The file access permissions of <#3366#>
func@star<#1193#>LONG Fchown(char &sstarf#star;fname, WORD uid, WORD gid);<#1193#>
=2000
to <#3368#>
<#3369#>by -The user and group ownership of <#3370#>
func@star<#1197#>WORD Fcntl(WORD fh, LONG arg, WORD cmd);<#1197#>
=2000
to <#3373#>
<#3374#>by -Do file control commands on file handle <#3375#>
func@star<#1202#>LONG Fgetchar(WORD fh, WORD mode);<#1202#>
=2000
to <#3379#>
<#3380#>by -Read a character from the file assosiated with handle <#3381#>
func@star<#1205#>LONG Finstat(WORD fh);<#1205#>
=2000
to <#3383#>
<#3384#>by -Return the number of characters available for reading from file
handle <#3385#>
func@star<#1207#>LONG Flink(char &sstarf#star;oldname, char &sstarf#star;newname);<#1207#>
=2000
to <#3386#>
<#3387#>by -The file name <#3388#>
func@star<#1210#>LONG Fmidipipe(WORD pid, WORD in, WORD out);<#1210#>
=2000
to <#3390#>
<#3391#>by -Changes the GEMDOS Midi input and output handles for process
with id <#3392#>
func@star<#1214#>LONG Foutstat(WORD fh);<#1214#>
=2000
to <#3395#>
<#3396#>by -Return the number of bytes, that may be written to file handle
<#3397#>
func@star<#1216#>WORD Fpipe(WORD usrh[2]);<#1216#>
=2000
to <#3398#>
<#3399#>by -Create a pipe. <#3400#>
func@star<#1219#>LONG Fputchar(WORD fh, LONG ch, WORD mode);<#1219#>
=2000
to <#3402#>
<#3403#>by -Write a character to the file whose handle is <#3404#>
func@star<#1223#>LONG Freadlink(WORD bufsiz, char *buf, char *lname);<#1223#>
=2000
to <#3407#>
<#3408#>by -Returns in the buffer <#3409#>
func@star<#1227#>WORD Fselect(unsigned~WORD timeout, LONG &sstarf#star;rfds, LONG
&sstarf#star;wfds, ((long) 0));<#1227#>
=2000
to <#3412#>
<#3413#>by -Select file descriptors, that are ready for reading or writing.
<#3414#>
func@star<#1230#>LONG Fsymlink(char &sstarf#star;oldname, char &sstarf#star;newname);<#1230#>
=2000
to <#3416#>
<#3417#>by -The file name <#3418#>
func@star<#1233#>LONG Fxattr(WORD flag, char &sstarf#star;fname, XATTR &sstarf#star;xattr);<#1233#>
=2000
to <#3420#>
<#3421#>by -For the file <#3422#>
func@star<#1238#>void Pause();<#1238#> =2000 to <#3426#> <#3427#>by -Suspend the process until it receives a signal that is not being ignored and is not masked.<#3427#><#3426#>
func@star<#1240#>WORD Pdomain(WORD newdom);<#1240#>
=2000
to <#3428#>
<#3429#>by -If <#3430#>
func@star<#1243#>LONG Pfork();<#1243#> =2000 to <#3432#> <#3433#>by -Create a new process, that is the duplicate of the current one, but has its own copy of the address space. The return value is 0 for the child, and the child's pid in the parent.<#3433#><#3432#>
func@star<#1245#>WORD Pgetegid();<#1245#> func@star<#1246#>WORD Pgeteuid();<#1246#> =2000 to <#3434#> <#3435#>by -Return the effective groud or user id's.<#3435#><#3434#>
func@star<#1248#>WORD Pgetgid();<#1248#> func@star<#1249#>WORD Psetgid(WORD id);<#1249#> =2000 to <#3436#> <#3437#>by -Get or set the group id of the current process.<#3437#><#3436#>
func@star<#1251#>WORD Pgetpid();<#1251#> func@star<#1252#>WORD Pgetppid();<#1252#> func@star<#1253#>WORD Pgetpgrp();<#1253#> =2000 to <#3438#> <#3439#>by -Get the currents process' process id, it's parent's process id, or its process group.<#3439#><#3438#>
func@star<#1255#>WORD Pgetuid();<#1255#> func@star<#1256#>WORD Psetuid(WORD id);<#1256#> =2000 to <#3440#> <#3441#>by -Return or set the user id under which the current process is running.<#3441#><#3440#>
func@star<#1258#>WORD Pkill(WORD pid, WORD sig);<#1258#>
=2000
to <#3442#>
<#3443#>by -Send signal <#3444#>
func@star<#1262#>LONG Pmsg(WORD mode, LONG mbox, void &sstarf#star;msg);<#1262#>
func@star<#1263#>WORD Pnice(WORD delta);<#1263#>
func@star<#1264#>WORD Prenice( word pid, word delta);<#1264#>
func@star<#1265#>void Prusage(LONG rsp[8]);<#1265#> =2000 to <#3447#> <#3448#>by -Get various resource information from the operating system.<#3448#><#3447#>
= ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; Value;SPMamp;;SPMamp;Meaning <#1269#>
func@star<#1282#>Psemaphore(short mode, long id, long tmout);<#1282#>
func@star<#1283#>LONG Psetlimit(WORD lim, LONG val);<#1283#>
=2000
to <#3454#>
<#3455#>by -Get/Set a resource limit for a process. The old limit is
returned. If <#3456#>
= ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; Value;SPMamp;;SPMamp;Meaning <#1288#>
func@star<#1295#>Psigaction(short sig, long action, long oldaction);<#1295#>
func@star<#1296#>WORD Psetpgrp(WORD pid, WORD newgrp);<#1296#>
=2000
to <#3464#>
<#3465#>by -Set the process group of the process with given <#3466#>
func@star<#1299#>LONG Psigblock(unsigned~LONG mask);<#1299#>
=2000
to <#3468#>
<#3469#>by -Adds the signal in the 32 bit <#3470#>
func@star<#1302#>LONG Psignal(WORD signal, (void)(&sstarf#star;handler)(LONG sig);<#1302#>
=2000
to <#3472#>
<#3473#>by -Installs a signal handler for the indicated <#3474#>
func@star<#1305#>LONG Psigpending();<#1305#> =2000 to <#3476#> <#3477#>by -Return a longword containing the signals, that have been sent to the process, but not yet handled.<#3477#><#3476#>
func@star<#1307#>LONG Psigreturn();<#1307#>
=2000
to <#3478#>
<#3479#>by -Prepare to exit from a signal handler. (only needed with <#3480#>
func@star<#1309#>LONG Psigsetmask(unsigned~LONG mask);<#1309#>
=2000
to <#3481#>
<#3482#>by -Replaces the set of blocked signals with <#3483#>
func@star<#1311#>Pumask(short mask);<#1311#>
func@star<#1312#>LONG Pusrval(LONG arg);<#1312#> =2000 to <#3484#> <#3485#>by -Return the process specific user value for this process.<#3485#><#3484#>
func@star<#1314#>WORD Pvfork();<#1314#> =2000 to <#3486#> <#3487#>by -Creates a copy of the current process. Both child and parent share the same address space. The return value is 0 for the child, and the child's pid in the parent.<#3487#><#3486#>
func@star<#1316#>LONG Pwait();<#1316#> =2000 to <#3488#> <#3489#>by -Return the exit status of the children run asyncronously.<#3489#><#3488#>
func@star<#1318#>LONG Pwait3(WORD flag, LONG &sstarf#star;rusage);<#1318#>
=2000
to <#3490#>
<#3491#>by -Wait for a child and return its exit status. If <#3492#>
func@star<#1322#>WORD Syield();<#1322#> =2000 to <#3495#> <#3496#>by -Tell MiNT, that is okay to switch processes right now. Always returns 0.<#3496#><#3495#>
func@star<#1324#>LONG Sysconf(WORD n);<#1324#>
=2000
to <#3497#>
<#3498#>by -Return information about various limits/capabilities of the
current version of MiNT. Possible values for <#3499#>
= ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; Value;SPMamp;;SPMamp;Meaning <#1328#>
func@star<#1341#>LONG Talarm(LONG sec);<#1341#>
=2000
to <#3506#>
<#3507#>by -Set an alarm to go off <#3508#>
<#3510#>BIOS Calls via Trap 13<#3510#>
<#3511#>
#include osbind.h;SPMgt;
Available devices for BIOS calls are:
#1##2##3<#3517#>##1;SPMamp;;SPMamp;##2;SPMamp;;SPMamp;##3<#3517#> ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp; ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;## ;SPMamp;Device;SPMamp;;SPMamp;#;SPMamp;;SPMamp;;SPMamp; <#1348#>
func@star<#1367#>long Bconin(short dev);<#1367#>
=2000
to <#3519#>
<#3520#>by -Read a character from device <#3521#>
func@star<#1369#>void Bconout(short dev, short c);<#1369#>
=2000
to <#3522#>
<#3523#>by -Write character <#3524#>
func@star<#1372#>short Bconstat(short dev);<#1372#>
=2000
to <#3526#>
<#3527#>by -Get the status of the input device <#3528#>
func@star<#1374#>short Bcostat(short dev);<#1374#>
=2000
to <#3529#>
<#3530#>by -Get the status of the output device <#3531#>
func@star<#1376#>long Drvmap();<#1376#> =2000 to <#3532#> <#3533#>by -Get the bitmap of available drives.<#3533#><#3532#>
func@star<#1378#>BPB &sstarf#star;Getbpb(short dev);<#1378#>
=2000
to <#3534#>
<#3535#>by -Get the BIOS parameter block of device <#3536#>
func@star<#1380#>void Getmpb(void &sstarf#star;ptr);<#1380#>
=2000
to <#3537#>
<#3538#>by -The memory parameter block pointed to by <#3539#>
func@star<#1382#>long Kbshift(short mode);<#1382#>
=2000
to <#3540#>
<#3541#>by -Get (<#3542#>
<#1384#>=The return value is composed of the following fields:
<#1384#>
= ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp; Bit;SPMamp;;SPMamp;Meaning <#1387#>
func@star<#1404#>short Mediach(short dev);<#1404#>
=2000
to <#3548#>
<#3549#>by -Check, if disk in device <#3550#>
func@star<#1406#>short Rwabs(short rwflag, long buf, short n, short
sector, short dev);<#1406#>
=2000
to <#3551#>
<#3552#>by -Read (<#3553#>
func@star<#1411#>void~(&sstarf#star;)(void) Setexc(short vecnum, long vecptr);<#1411#> =2000 to <#3557#> <#3558#>by -Get (vecptr = -1) or set an M68000 exception vector.<#3558#><#3557#>
func@star<#1413#>long Tickcal();<#1413#>
=2000
to <#3559#>
<#3560#>by -Get the number of milliseconds between two calls of <#3561#>
<#3562#>XBIOS Calls via Trap 14<#3562#>
<#3563#>
#include osbind.h;SPMgt;
func@star<#1416#>void Bioskeys();<#1416#> =2000 to <#3568#> <#3569#>by -Reset to initial keyboard mapping tables.<#3569#><#3568#>
func@star<#1418#>short Blitmode(short flag);<#1418#> =2000 to <#3570#> <#3571#>by -Configure the blitter chip.<#3571#><#3570#>
func@star<#1420#>short Cursconf(short rate, short attr);<#1420#> =2000 to <#3572#> <#3573#>by -Configure the cursor and blinking speed.<#3573#><#3572#>
func@star<#1422#>void Dosound(void &sstarf#star;ptr);<#1422#> =2000 to <#3574#> <#3575#>by -Output a number of bytes to the soundchip.<#3575#><#3574#>
func@star<#1424#>short Floprd(void &sstarf#star;buf, long filler, short drv, short
sect, short trk, short side, short n);<#1424#>
=2000
to <#3576#>
<#3577#>by -Read physically <#3578#>
func@star<#1427#>short Flopwr(void &sstarf#star;buf, long filler, short drv, short
sect, short trk, short side, short n);<#1427#>
=2000
to <#3580#>
<#3581#>by -Write physically <#3582#>
func@star<#1430#>short Flopfmt(void &sstarf#star;buf, long filler, short drv, short
spt, short trk, short side, short i, long m, short v);<#1430#>
=2000
to <#3584#>
<#3585#>by -Format track <#3586#>
func@star<#1434#>short Flopver(void &sstarf#star;buf, long filler, short drv, short spt, short trk, short side, short n);<#1434#> =2000 to <#3589#> <#3590#>by -Read a number of sectors and compare with memory.<#3590#><#3589#>
func@star<#1436#>short Getrez();<#1436#> =2000 to <#3591#> <#3592#>by -Get the current display resolution (0 = low, 1 = mid, 2 = high).<#3592#><#3591#>
func@star<#1438#>long Gettime();<#1438#> =2000 to <#3593#> <#3594#>by -Get the time from the hardware clock (lower word = time, upper word = date).<#3594#><#3593#>
func@star<#1440#>short Giaccess(short data, short reg);<#1440#>
=2000
to <#3595#>
<#3596#>by -Get or set a register of the GI sound chip.
Set bit 8 of <#3597#>
func@star<#1442#>void Ikbdws(short cnt, void &sstarf#star;ptr);<#1442#>
=2000
to <#3598#>
<#3599#>by -Write a sequence of <#3600#>
func@star<#1444#>void Initmous(short type, void &sstarf#star;param, void &sstarf#star;vptr);<#1444#> =2000 to <#3601#> <#3602#>by -Initialize the mouse cursor routines.<#3602#><#3601#>
func@star<#1446#>IOREC &sstarf#star;Iorec(short ioDEV);<#1446#> =2000 to <#3603#> <#3604#>by -Get a pointer to a device specific buffer.<#3604#><#3603#>
func@star<#1448#>void Jdisint(short vnum);<#1448#>
=2000
to <#3605#>
<#3606#>by -Disable interrupt <#3607#>
func@star<#1450#>void Jenabint(short vnum);<#1450#>
=2000
to <#3608#>
<#3609#>by -Enable interrupt <#3610#>
func@star<#1452#>KBDVECS &sstarf#star;Kbdvbase();<#1452#> =2000 to <#3611#> <#3612#>by -Get a pointer to the KBDVECS structure.<#3612#><#3611#>
func@star<#1454#>short Kbrate(short delay, short reprate);<#1454#> =2000 to <#3613#> <#3614#>by -Get or set keyboard repeat rate.<#3614#><#3613#>
func@star<#1456#>KEYTAB &sstarf#star;Keytbl(void &sstarf#star;nrml, void &sstarf#star;shft, void &sstarf#star;caps);<#1456#> =2000 to <#3615#> <#3616#>by -Set the addresses of the keyboard mapping tables (-1 = don't change).<#3616#><#3615#>
func@star<#1458#>void &sstarf#star;Logbase();<#1458#> =2000 to <#3617#> <#3618#>by -Get the start address of the logical display memory.<#3618#><#3617#>
func@star<#1460#>void Mfpint(short vnum, void &sstarf#star;vptr);<#1460#> =2000 to <#3619#> <#3620#>by -Set the interrupt vectors of the MFP 68901 chip.<#3620#><#3619#>
func@star<#1462#>void Midiws(short cnt, void &sstarf#star;ptr);<#1462#>
=2000
to <#3621#>
<#3622#>by -Write a sequence of <#3623#>
func@star<#1464#>void Offgibit(short ormask);<#1464#> =2000 to <#3624#> <#3625#>by -Clear a bit in ``PORT A'' register of the GI chip.<#3625#><#3624#>
func@star<#1466#>void Ongibit(short andmask);<#1466#> =2000 to <#3626#> <#3627#>by -Set a bit in ``PORT A'' register of the GI chip.<#3627#><#3626#>
func@star<#1468#>void &sstarf#star;Physbase();<#1468#> =2000 to <#3628#> <#3629#>by -Get the start address of the physical display memory.<#3629#><#3628#>
func@star<#1470#>void Protobt(void &sstarf#star;buf, long serial, short dsktyp, short exec);<#1470#> =2000 to <#3630#> <#3631#>by -Create a boot sector in memory.<#3631#><#3630#>
func@star<#1472#>void Prtblk(void &sstarf#star;pblkptr);<#1472#>
=2000
to <#3632#>
<#3633#>by -Special hardcopy routine, not unlike the <#3634#>
func@star<#1474#>long Random();<#1474#> =2000 to <#3635#> <#3636#>by -Get a 24 bit random number.<#3636#><#3635#>
func@star<#1476#>long Rsconf(short baud, short flow, short uc, short rs, short ts, short sc);<#1476#> =2000 to <#3637#> <#3638#>by -Set the communication parameters for the serial port. The return value is the current configuration of the four register of the UART.<#3638#><#3637#>
func@star<#1478#>void Scrdmp();<#1478#> =2000 to <#3639#> <#3640#>by -Dump the current screen to the printer.<#3640#><#3639#>
func@star<#1480#>short Setcolor(short colornum, short color);<#1480#>
=2000
to <#3641#>
<#3642#>by -Get (<#3643#>
func@star<#1482#>void Setpalette(void &sstarf#star;palptr);<#1482#> =2000 to <#3644#> <#3645#>by -Set the color palette of the video hardware.<#3645#><#3644#>
func@star<#1484#>short Setprt(short config);<#1484#> =2000 to <#3646#> <#3647#>by -Get or set the current printer configuration.<#3647#><#3646#>
<#1486#>=The bits of the return value are assigned as follows:
<#1486#>
= #1##2##3<#3649#>##1;SPMamp;;SPMamp;##2;SPMamp;;SPMamp;##3<#3649#> ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp; ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;## ;SPMamp;Bit;SPMamp;;SPMamp;Off;SPMamp;;SPMamp;On;SPMamp; <#1490#>
func@star<#1509#>void Setscreen(void &sstarf#star;lscrn, void &sstarf#star;pscrn, short rez);<#1509#> =2000 to <#3651#> <#3652#>by -Set the logical and physical display memory start address and the current screen resolution.<#3652#><#3651#>
func@star<#1511#>void Settime(long time_date);<#1511#>
=2000
to <#3653#>
<#3654#>by -Set the hardware clock to <#3655#>
func@star<#1513#>void &sstarf#star;Ssbrk(short size);<#1513#>
=2000
to <#3656#>
<#3657#>by -Reserve <#3658#>
func@star<#1515#>long Supexec(void &sstarf#star;funcptr);<#1515#> =2000 to <#3659#> <#3660#>by -Execute a subroutine in supervisor mode.<#3660#><#3659#>
func@star<#1517#>void Vsync();<#1517#> =2000 to <#3661#> <#3662#>by -Wait until the verical blank interrupt has bitten.<#3662#><#3661#>
func@star<#1519#>void Xbtimer(short timer, short ctrl, long data, void &sstarf#star;vptr);<#1519#> =2000 to <#3663#> <#3664#>by -Set and start the MFP 68901 timer.<#3664#><#3663#>
<#3665#>XBIOS Calls unique to the TT<#3665#>
<#3666#>
I don't have more information about this calls at the moment. Can someone please enlighten me.
#include osbind.h;SPMgt;
func@star<#1522#>long Bconctl(short opcode, long operand);<#1522#> =2000 to <#3671#> <#3672#>by -<#3672#><#3671#>
func@star<#1524#>long Bconmap(short dev);<#1524#> =2000 to <#3673#> <#3674#>by -<#3674#><#3673#>
func@star<#1526#>void EgetPalette(short start, short count, word *palptr);<#1526#>
=2000
to <#3675#>
<#3676#>by -Read parts or the complete TT color palette. Starting at
register <#3677#>
func@star<#1530#>short EgetShift();<#1530#> =2000 to <#3680#> <#3681#>by -Get the current contents of the videoshifter control register.<#3681#><#3680#>
func@star<#1532#>short EsetBank(short bank);<#1532#> =2000 to <#3682#> <#3683#>by -Immediatly activate one of the 16 TT color banks and copy the values to the ST(E) compatible color register.<#3683#><#3682#>
func@star<#1534#>short EsetColor(short num, short val);<#1534#>
=2000
to <#3684#>
<#3685#>by -Set color register <#3686#>
func@star<#1538#>short EsetGray( short mode);<#1538#>
=2000
to <#3689#>
<#3690#>by -Switch between color (<#3691#>
func@star<#1540#>void EsetPalette(short start, short count, word *palptr);<#1540#>
=2000
to <#3692#>
<#3693#>by -Change parts or the complete TT color palette. From the word
field <#3694#>
func@star<#1544#>void EsetShift(short mode);<#1544#> =2000 to <#3697#> <#3698#>by -Set the videoshift control register and return the previous contents.<#3698#><#3697#>
func@star<#1546#>short EsetSmear(short mode);<#1546#>
=2000
to <#3699#>
<#3700#>by -If <#3701#>
<#3702#>LineA Calls<#3702#>
<#3703#>
#include linea.h;SPMgt;
func@star<#1549#>void linea0();<#1549#> =2000 to <#3708#> <#3709#>by -Initialize lineA.<#3709#><#3708#>
func@star<#1551#>void linea1();<#1551#> =2000 to <#3710#> <#3711#>by -Put pixel.<#3711#><#3710#>
func@star<#1553#>int linea2();<#1553#> =2000 to <#3712#> <#3713#>by -Get pixel.<#3713#><#3712#>
func@star<#1555#>void linea3();<#1555#> =2000 to <#3714#> <#3715#>by -Draw line.<#3715#><#3714#>
func@star<#1557#>void linea4();<#1557#> =2000 to <#3716#> <#3717#>by -Horizontal line.<#3717#><#3716#>
func@star<#1559#>void linea5();<#1559#> =2000 to <#3718#> <#3719#>by -Draw rectangle.<#3719#><#3718#>
func@star<#1561#>void linea6();<#1561#> =2000 to <#3720#> <#3721#>by -Filled polygon.<#3721#><#3720#>
func@star<#1563#>void linea7(BBPB &sstarf#star;ptr);<#1563#> =2000 to <#3722#> <#3723#>by -Bit blit.<#3723#><#3722#>
func@star<#1565#>void linea8();<#1565#> =2000 to <#3724#> <#3725#>by -Text blit.<#3725#><#3724#>
func@star<#1567#>void linea9();<#1567#> =2000 to <#3726#> <#3727#>by -Show mouse.<#3727#><#3726#>
func@star<#1569#>void lineaa();<#1569#> =2000 to <#3728#> <#3729#>by -Hide mouse.<#3729#><#3728#>
func@star<#1571#>void lineab();<#1571#> =2000 to <#3730#> <#3731#>by -Mouse form.<#3731#><#3730#>
func@star<#1573#>void lineac(void &sstarf#star;ptr);<#1573#> =2000 to <#3732#> <#3733#>by -Undraw sprite.<#3733#><#3732#>
func@star<#1575#>void linead(int x, int y, SFORM &sstarf#star;sprite, void &sstarf#star;ptr);<#1575#> =2000 to <#3734#> <#3735#>by -Draw sprite.<#3735#><#3734#>
func@star<#1577#>void lineae();<#1577#> =2000 to <#3736#> <#3737#>by -Copy raster.<#3737#><#3736#>
func@star<#1579#>void lineaf();<#1579#> =2000 to <#3738#> <#3739#>by -Seed fill.<#3739#><#3738#>
<#3740#>VT52 Escape Seqences<#3740#>
<#3741#>
#include vt52.h;SPMgt;
#1##2##3<#3747#>##1;SPMamp;;SPMamp;##2;SPMamp;;SPMamp;##3<#3747#> ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp; ;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;## ;SPMamp;Mnemonic;SPMamp;;SPMamp;Sequence;SPMamp;;SPMamp;Meaning;SPMamp; <#1585#>
<#3749#>System Variables and Magic Numbers<#3749#>
<#3750#>
#include sysvars.h;SPMgt;
<#2261#>
<#2258#>#;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;#
Name;SPMamp;Address<#1661#><#1661#>
proc_lives;SPMamp;(unsigned long &sstarf#star;) 0x380
etv_timer;SPMamp;(void (&sstarf#star;&sstarf#star;)()) 0x400
etv_critic;SPMamp;(void (&sstarf#star;&sstarf#star;)()) 0x404
etv_term;SPMamp;(void (&sstarf#star;&sstarf#star;)()) 0x408
memvalid;SPMamp;(unsigned long &sstarf#star;) 0x420
mencntlr;SPMamp;(unsigned char &sstarf#star;) 0x424
resvalid;SPMamp;(unsigned long &sstarf#star;) 0x426
resvector;SPMamp;(void (&sstarf#star;&sstarf#star;)()) 0x42a
phystop;SPMamp;(unsigned long &sstarf#star;) 0x42e
_membot;SPMamp;(unsigned long &sstarf#star;) 0x432
_memtop;SPMamp;(unsigned long &sstarf#star;) 0x436
memval2;SPMamp;(unsigned long &sstarf#star;) 0x43a
flock;SPMamp;(short &sstarf#star;) 0x43e
seekrate;SPMamp;(short &sstarf#star;) 0x440
_timr_ms;SPMamp;(short &sstarf#star;) 0x442
_fverify;SPMamp;(short &sstarf#star;) 0x444
_bootdev;SPMamp;(short &sstarf#star;) 0x446
palmode;SPMamp;(short &sstarf#star;) 0x448
defshiftmd;SPMamp;(unsigned char &sstarf#star;) 0x44a
sshiftmd;SPMamp;(short &sstarf#star;) 0x44c
_v_bas_ad;SPMamp;(void &sstarf#star;) 0x44e
vblsem;SPMamp;short &sstarf#star;) 0x452
nvbls;SPMamp;(short &sstarf#star;) 0x454
_vblqueue;SPMamp;(void (&sstarf#star;&sstarf#star;&sstarf#star;)()) 0x456
colorptr;SPMamp;(short &sstarf#star;&sstarf#star;) 0x45a
_vbclock;SPMamp;(unsigned long &sstarf#star;) 0x462
_frclock;SPMamp;(unsigned long &sstarf#star;) 0x466
_hz_200;SPMamp;(unsigned long &sstarf#star;) 0x4ba
conterm;SPMamp;&sstarf#star;((char &sstarf#star;) 0x484
savptr;SPMamp;(long &sstarf#star;) 0x4a2
_nflops;SPMamp;(short &sstarf#star;) 0x4A6
_sysbase;SPMamp;(long &sstarf#star;) 0x4f2
_shell_p;SPMamp;(long &sstarf#star;) 0x4f6
pun_ptr;SPMamp;(<#3755#>
<#3756#>Error Numbers<#3756#>
<#3757#>
#include errno.h;SPMgt;
<#2259#> <#2247#>#;SPMamp;#;SPMamp;# ENOERR;SPMamp;0;SPMamp;no error E_OK;SPMamp;ENOERR;SPMamp; EERROR;SPMamp;1;SPMamp;generic error EDRNRDY;SPMamp;2;SPMamp;drive not ready EDRVNR;SPMamp;EDRNRDY;SPMamp; EUKCMD;SPMamp;3;SPMamp;unknown command EUNCMD;SPMamp;EUKCMD;SPMamp; ECRC;SPMamp;4;SPMamp;crc error E_CRC;SPMamp;ECRC;SPMamp; EBADREQ;SPMamp;5;SPMamp;bad request ESEEK;SPMamp;6;SPMamp;seek error E_SEEK;SPMamp;ESEEK;SPMamp; EUKMEDIA;SPMamp;7;SPMamp;unknown media EMEDIA;SPMamp;EUKMEDIA;SPMamp; ESECTOR;SPMamp;8;SPMamp;sector not found ESECNF;SPMamp;ESECTOR;SPMamp; EPAPER;SPMamp;9;SPMamp;no paper EWRITE;SPMamp;10;SPMamp;write fault EWRITEF;SPMamp;EWRITE;SPMamp; EREAD;SPMamp;11;SPMamp;read fault EREADF;SPMamp;EREAD;SPMamp; EGENERIC;SPMamp;12;SPMamp;general mishap EROFS;SPMamp;13;SPMamp;write protect ECHMEDIA;SPMamp;14;SPMamp;media change E_CHNG;SPMamp;ECHMEDIA;SPMamp; EUKDEV;SPMamp;15;SPMamp;unknown device EUNDEV;SPMamp;EUKDEV;SPMamp; EBADSEC;SPMamp;16;SPMamp;bad sectors ENBADSF;SPMamp;EBADSEC;SPMamp; EIDISK;SPMamp;17;SPMamp;insert disk EOTHER;SPMamp;EIDISK;SPMamp;<#1835#><#1835#> EINVAL;SPMamp;32;SPMamp;invalid function number ENOENT;SPMamp;33;SPMamp;file not found ESRCH;SPMamp;ENOENT;SPMamp;pid not found EPATH;SPMamp;34;SPMamp;path not found EMFILE;SPMamp;35;SPMamp;too many open files EACCESS;SPMamp;36;SPMamp;access denied EACCES;SPMamp;36;SPMamp;access denied EPERM;SPMamp;EACCESS;SPMamp; EBADF;SPMamp;37;SPMamp;invalid handle ENOMEM;SPMamp;39;SPMamp;insufficient memory EFAULT;SPMamp;40;SPMamp;invalid memory block ;SPMamp;;SPMamp;request ENXIO;SPMamp;46;SPMamp;invalid drive EXDEV;SPMamp;48;SPMamp;cross device rename ENMFILES;SPMamp;49;SPMamp;no more files (Fnext)<#1881#><#1881#> ENMFIL;SPMamp;ENMFILES;SPMamp; ERANGE;SPMamp;62;SPMamp;range error EDOM;SPMamp;63;SPMamp;domain error EBADARG;SPMamp;64;SPMamp;range error ;SPMamp;;SPMamp;/context unknown EINTERNAL;SPMamp;65;SPMamp;internal error EINTRN;SPMamp;EINTERNAL;SPMamp; ENOEXEC;SPMamp;66;SPMamp;invalid program ;SPMamp;;SPMamp;load format EPLFMT;SPMamp;ENOEXEC;SPMamp; ESBLOCK;SPMamp;67;SPMamp;set block failed/ ;SPMamp;;SPMamp;growth restraints EGSBF;SPMamp;ESBLOCK;SPMamp; EEXIST;SPMamp;80;SPMamp;file exists (open) ENAMETOOLONG;SPMamp;81;SPMamp;file exists (open) ENOTTY;SPMamp;82;SPMamp;not a tty (ioctl) EAGAIN;SPMamp;EDRNRDY;SPMamp;try again later ENOTDIR;SPMamp;EPATH;SPMamp;&sstarf#star; preliminary &sstarf#star; <#2247#><#2259#>
fill2=
Permission is granted to make and distribute copies of this card provided the copyright notice and this permission notice are preserved on all copies.
ac
ac
sort-regexp-fields nil ;SPMquot;
function<#2262#>[A-Za-z_
~]+
s *[
]*
([A-Za-z_]+
)
([ -~]+
)+;SPMquot; ;SPMquot;
1;SPMquot; (region-beginning) (region-end));''